package pe.gob.onpe.ejb.id;

import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * OficinaDespachoId entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Embeddable
public class OficinaDespachoId implements java.io.Serializable {

	// Fields

	/**
	 * 
	 */
	private static final long serialVersionUID = -5015846747907741177L;
	private Long institucionSolicitanteId;
	private Long oficinadespachoId;

	// Constructors

	/** default constructor */
	public OficinaDespachoId() {
	}

	/** full constructor */
	public OficinaDespachoId(Long institucionSolicitanteId,
			Long oficinadespachoId) {
		this.institucionSolicitanteId = institucionSolicitanteId;
		this.oficinadespachoId = oficinadespachoId;
	}

	// Property accessors

	@Column(name = "INSTITUCION_SOLICITANTE_ID", unique = false, nullable = false, insertable = true, updatable = true, precision = 10, scale = 0)
	public Long getInstitucionSolicitanteId() {
		return this.institucionSolicitanteId;
	}

	public void setInstitucionSolicitanteId(Long institucionSolicitanteId) {
		this.institucionSolicitanteId = institucionSolicitanteId;
	}

	@Column(name = "OFICINADESPACHO_ID", unique = false, nullable = false, insertable = true, updatable = true, precision = 10, scale = 0)
	public Long getOficinadespachoId() {
		return this.oficinadespachoId;
	}

	public void setOficinadespachoId(Long oficinadespachoId) {
		this.oficinadespachoId = oficinadespachoId;
	}

	public boolean equals(Object other) {
		if ((this == other))
			return true;
		if ((other == null))
			return false;
		if (!(other instanceof OficinaDespachoId))
			return false;
		OficinaDespachoId castOther = (OficinaDespachoId) other;

		return ((this.getInstitucionSolicitanteId() == castOther
				.getInstitucionSolicitanteId()) || (this
				.getInstitucionSolicitanteId() != null
				&& castOther.getInstitucionSolicitanteId() != null && this
				.getInstitucionSolicitanteId().equals(
						castOther.getInstitucionSolicitanteId())))
				&& ((this.getOficinadespachoId() == castOther
						.getOficinadespachoId()) || (this
						.getOficinadespachoId() != null
						&& castOther.getOficinadespachoId() != null && this
						.getOficinadespachoId().equals(
								castOther.getOficinadespachoId())));
	}

	public int hashCode() {
		int result = 17;

		result = 37
				* result
				+ (getInstitucionSolicitanteId() == null ? 0 : this
						.getInstitucionSolicitanteId().hashCode());
		result = 37
				* result
				+ (getOficinadespachoId() == null ? 0 : this
						.getOficinadespachoId().hashCode());
		return result;
	}

}